要(yào)使一个NC程序不仅仅适用于特定数值下(xià)的一次加工,或(huò)者必(bì)须要计算出数(shù)值,两种情况均(jun1)可以使用计算参数,你可以(yǐ)在程序运行时(shí)由(yóu)控制器(qì)计算(suàn)或设所需要的数值;可以(yǐ)通过操(cāo)作面(miàn)板设定参数数值。如果参数已经赋值,则它们可以(yǐ)在程序中对(duì)由变量确(què)定 地址进行赋值。
R0=...
到
R249=...
一共250个计算参数可供使(shǐ)用。
R0...R99 - 可以自由使用
R100...R249 -加工循环传递参数
如果你没有用到加工循环,则这部分计算参数也同样可以自由使用。
R0=3.5678 R1=-37.3 R2=2 R3=-7 R4=-45678.1234
用指数表示法(fǎ)可以赋(fù)值(zhí)更大的数值(zhí)范围:
(10-300...10+300).
指数值写在EX符(fú)号之后;最(zuì)大符号数:10(包括符(fú)号和小(xiǎo)数点).
EX值范围:-300到+300
R0=-0.1EX-5 ;意义:R0=-0.000 0001
R1=1.874EX8 ;意义:R1=187 400 000
注释:一个程序段中可以有多个赋值语句;也可以(yǐ)用计算(suàn)表(biǎo)达式赋值。
通过给其它(tā)的NC地址分配计算参数或参数表(biǎo)达式,可(kě)以增加NC程序的通用(yòng)性。可以用数值、算术表(biǎo)达式或R参数对任意NC地(dì)址赋值。但(dàn)对地址N、G和L例(lì)外(wài)。
赋值时在(zài)地址(zhǐ)符之后写(xiě)入符号"="
赋值语句也可以(yǐ)赋(fù)值(zhí)-负号。
给坐标轴地址(zhǐ)(运行指(zhǐ)令)赋值(zhí)时,要求有一独立的程序段。
举例:
N10 G0 X=R2 ;给X轴赋值
在计算参数时也遵循通常的数学运算规(guī)则。原括号内的运算优先进行。另外,乘法(fǎ)和除法运算优先于加法和减法运算。
1)标记符用于标记程(chéng)序(xù)中(zhōng)所跳转的目标程序段,用跳转功能(néng)可以实(shí)现程(chéng)序运行分支。
2)标记符可以自由选取,但(dàn)必须由2一个字(zì)母或数字组(zǔ)成,其中(zhōng)开(kāi)始(shǐ)两个符(fú)号(hào)必须是字母或(huò)下划线。
3)跳(tiào)转目标程序段中标记符后面(miàn)必须为冒(mào)号(hào)。标记(jì)符位于程序段(duàn)段首(shǒu)。如果(guǒ)程序(xù)段有段(duàn)号,则(zé)标记符紧跟(gēn)着(zhe)段号。
4)在一个程序段中,标记符不能含有其它意义。
N10 MARKE1:G1 X20 ;MARKE1为(wéi)标记符(fú),跳转目标程序段 ...
TR789:G0 X10 Z20 ;TR789为标记符,跳转目标(biāo)程序(xù)段没(méi)有段号(hào)
NC程序在运行时以写入时(shí)的顺序执(zhí)行(háng)程(chéng)序段(duàn)。
程序(xù)在运行时可以(yǐ)通过插入程序跳转指令改变执行顺(shùn)序。
跳转(zhuǎn)目标只能是有(yǒu)标记符(fú)的(de)程序段。此(cǐ)程序段必须(xū)位于该程(chéng)序之内。
绝对跳转指(zhǐ)令必须占用一(yī)个独立的程序段。
GOTOF Lable ;先前(qián)跳转(zhuǎn)
GOTOB Lable ;向后(hòu)跳转
AWL 说明
GOTOF 向前跳(tiào)转(zhuǎn)(向程序结束的方(fāng)向(xiàng)跳转(zhuǎn))
GOTOB 向(xiàng)后跳转(向程序开始的方向跳(tiào)转)
Lable 所选的标记符
用IF-条件语句表示有(yǒu)条件跳(tiào)转(zhuǎn).如果满足跳转(zhuǎn)条件(也就是值不等(děng)于(yú)零),则进行(háng)跳转.跳转目标只能是(shì)有标记符的程序段.该程序段必须在(zài)此(cǐ)程序之内.
有条(tiáo)件跳转指令(lìng)要求(qiú)一个(gè)独立的(de)程序段(duàn).在一个程(chéng)序段(duàn)中可以(yǐ)有许多个条件跳转指(zhǐ)令(lìng).
使用了条件跳转(zhuǎn)后有时会(huì)使程(chéng)序(xù)得到明显的简化.
IF条(tiáo)件GOTOF Lable ;先前跳(tiào)转(zhuǎn)
IF条件GOTOB Lable ;向后跳(tiào)转
AWL | 说明 |
GOTOF | 向前跳转(向程序结束的方向跳转) |
GOTOB | 向后(hòu)跳转(向程序开始的(de)方向跳转) |
Lable | 所选的标记符 |
IF | 跳转条件(jiàn)导入符(fú) |
条件 | 作为(wéi)条件的(de)计算参数,计算表(biǎo)达式 |
运算符 | 意义 |
= = | 等于 |
<> | 不等 |
> | 大于(yú) |
< | 小于(yú) |
> = | 大(dà)于或等于 |
< = | 小于或等于 |
用上述比较运算表示跳转条件,计算表达式(shì)也可用于比较运算.
比较运算(suàn)的结果有两种,一种为"满足",另(lìng)一种为"不满足"。 "不满足"时,该运算结果值为零。
R1>1 ;R1大于1
1<R1 ;1小于R1
R1<R2+R3 ;R1小于R2加(jiā)R3
R6>=SIN(R7*R7) ;R6大(dà)于或(huò)等于SIN(R7)2
L1(半球):
L2(半球(qiú)):
效果图:
G54X0Y0Z10F100M03S100
R10=-15 R11=-9.06
L1
R10=15 R11=-9.06
L1
R10=0
L2
G0 X=R10+12.5-4 Y=R11
G1 Z-6 F100
G3 I=4-12.5
G1 X=R10+8 Y=R11
G41 D1 X=R10+4 Y=R11
G2 I-4
G0 Z5
R1=4
R2=90
AAA:
R3=R1*COS(R2)+4+R10
R4=R1*SIN(R2)-R1
G0 X=R3 Y=R11
G1 Z=R4 F300
G2 I=R10-R3
G0 Z1
R2=R2-1
IF R2>=0 GOTOB AAA
G0 Z10
M17
R1=35
R2=15
R3=0
G0 X=R1+R10 Y=R11
G1 Z-5 F100
AAA:
R4=R1*COS(R3)+R10
R5=R2*SIN(R3)+R11
G1 X=R4 Y=R5 F100
R3=R3+1
IF R3<=360 GOTOB AAA
G0 Z5
M17
原则(zé)上讲主程序和子程序之(zhī)间(jiān)并(bìng)没(méi)有区别(bié)。
用子程序编写经常重(chóng)复进行(háng)的加工(gōng),比如某一确定的轮廓形状。子程序位于主程序的一种型式就是加工循(xún)环(huán),加工循环包含一(yī)般通用的加工工序,诸如螺纹切(qiē)削(xuē),柸(bēi)料切削加工(gōng)等等。通过给规(guī)定的(de)计算(suàn)参数赋(fù)值就可(kě)以实现各种具体的加工。
子程(chéng)序的结构(gòu)与主程(chéng)序的结构一样,在(zài)子(zǐ)程(chéng)序(xù)中也式最后一个程序(xù)段中用(yòng)M2结束子(zǐ)程序(xù)运行运(yùn)行。子(zǐ)程(chéng)序(xù)结束(shù)后返回主程序。
除(chú)了用M2指令外,还可以用RET指令结束子程序。
RET要求占(zhàn)用一(yī)个独立的(de)程序段(duàn)。
用(yòng)RET指令结(jié)束子程序(xù)、返回(huí)主程序时不会(huì)中断G64连续(xù)路(lù)径运行方式,用M2指令则(zé)会中断G64运行方式,并进入停止状态。
为了方便地选择某一子程序(xù),必须(xū)给子程序(xù)取一个(gè)程序(xù)名。程序名(míng)可以自由选取,但必须符合(hé)以下规定(dìng):
- 开始两个符号(hào)必须时(shí)字母
- 其它符号(hào)为字母,数字或下划线
- 最多8个字符
- 没有分隔符(fú)
其方法与主程序中程序名的选取方法一(yī)样。
在(zài)一(yī)个程序中(zhōng)(主(zhǔ)程序或(huò)子程序)可以(yǐ)直接用程序名(míng)调用子程序。子程序调用(yòng)要求占用一个(gè)独立的程序段。
举例:
N10 L785 P3 ;调用子程序L785
N20 WELLE7 ;调用子(zǐ)程序WELLE7
如果要求(qiú)多次连续(xù)地(dì)执行某(mǒu)一子程序,则在编程时必须(xū)在所调用(yòng)子程序的程序名后地址P下写入调用次数,最大次数(shù)可以为9999(P1...P9999)
举例:
N10 L785 P3 ;调用子程序(xù)L785 ,运行3次
子程(chéng)序不(bú)仅(jǐn)可以从主程序中(zhōng)调用,也可(kě)以从其它程序(xù)中(zhōng)调用,这个过程称为子程序的嵌套。子程序的嵌套(tào)深度(dù)可(kě)以为三层,也就是四级程序界面(包(bāo)括主(zhǔ)程序界面(miàn)) 。
注释:在使(shǐ)用加工循环(huán)进行加工(gōng)时(shí),要注意加工循环程序也(yě)同样(yàng)属于四级(jí)程序界面中的一级。
在子(zǐ)程序中(zhōng)可以(yǐ)改变(biàn)模态有效的G功能,比如G90到G91的变换.在返回(huí)调(diào)用程序时请注意检查一下所有模(mó)态有效的功能指(zhǐ)令,并按照要(yào)求进行调整。
对于R参数也需同(tóng)样注意,不(bú)要(yào)无意识地用上级程序界面中所使用的计(jì)算参数(shù)来修改下级程序界(jiè)面的(de)计(jì)算参数。